<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>createRef的使用</title>
  </head>
  <body>
    <div id="test"></div>
    <!-- 引入react核心库  优先 -->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!-- 引入react-dom用于支持react操作DOM，依赖react核心库 -->
    <script
      type="text/javascript"
      src="../js/react-dom.development.js"
    ></script>
    <!-- 引入babel，用于将jsx转换为js -->
    <script type="text/javascript" src="../js//babel.min.js"></script>
    <script type="text/babel">
      // createRef 主要用于 class 组件。
      //createRef 调用后可以返回一个容器，该容器可以存储被ref所标识的节点
      // 但是是专人专用的 ，只能存一个节点 如果多个 就需要多个createRef！！！！！！
      //比如这里的myRefTwo    为了测试实现第二个input 就要再写一个  myRefTwo = React.createRef();
      class Demo extends React.Component {
        myRef = React.createRef();
        myRefTwo = React.createRef();
        handle = () => {
          console.log("this.myRef", this.myRef.current.value);
        };
        handleTWo = () => {
          console.log("this.myRefTwo-----", this.myRefTwo.current.value);
        };
        render() {
          return (
            <div>
              <input
                ref={this.myRef}
                type="text"
                placeholder="点击按钮提示数据"
              />
              <button onClick={this.handle}>点击</button>

              <input
                ref={this.myRefTwo}
                onBlur={this.handleTWo}
                type="text"
                placeholder="点击按钮提示数据"
              />
            </div>
          );
        }
      }
      ReactDOM.render(<Demo />, document.getElementById("test"));
    </script>
  </body>
</html>
